Timm Bäder [Fri, 14 Feb 2020 17:06:39 +0000 (18:06 +0100)]
infobar: Don't store close button visibility separately
We can already set and query that value via
gtk_widget_{get,set}_visible() on the close button.
Timm Bäder [Fri, 14 Feb 2020 17:00:48 +0000 (18:00 +0100)]
actionbar: Use a bin layout
Timm Bäder [Thu, 13 Feb 2020 17:40:20 +0000 (18:40 +0100)]
calendar: Add style class to today's label
Add the .today style class to the label indicating the current day.
Fixes #230
Timm Bäder [Thu, 13 Feb 2020 16:53:42 +0000 (17:53 +0100)]
calendar: Document style classes
Fixes #790
Matthias Clasen [Fri, 14 Feb 2020 21:46:43 +0000 (16:46 -0500)]
events: Make proximity and scroll events have tools
The Wayland backend tries to set device tools on these
events, and it was just an oversight that they don't
carry them.
Benjamin Otte [Fri, 14 Feb 2020 20:42:11 +0000 (20:42 +0000)]
Merge branch 'wip/otte/for-master' into 'master'
Drop GTK_WINDOW_POPUP
See merge request GNOME/gtk!1437
Matthias Clasen [Mon, 30 Dec 2019 06:24:05 +0000 (01:24 -0500)]
Drop gdk_surface_new_temp
GTK is not using this API anymore, and we want
to consolidate our surface types to just toplevels
and popups.
Matthias Clasen [Mon, 30 Dec 2019 06:23:26 +0000 (01:23 -0500)]
testsuite: Stop using gdk_surface_new_temp
We can just use regular toplevels here.
Benjamin Otte [Fri, 14 Feb 2020 20:13:42 +0000 (21:13 +0100)]
window: Remove GtkWindowType and window->type
And remove code that was making decisions on the type and just use
the part for toplevels.
Benjamin Otte [Fri, 14 Feb 2020 20:15:45 +0000 (21:15 +0100)]
testsuite: Use GtkTextDirection instead of GtkWindowType
GtkWindowType is aout to be dropped, so use another enum for the enum
tests - one that is likely to survive for a long time.
Benjamin Otte [Fri, 14 Feb 2020 19:57:53 +0000 (20:57 +0100)]
textview: Fix docs typo
Benjamin Otte [Fri, 14 Feb 2020 19:55:36 +0000 (20:55 +0100)]
window: Remove type argument from gtk_window_new()
Benjamin Otte [Fri, 14 Feb 2020 19:32:10 +0000 (20:32 +0100)]
testsuite: Replace popups with toplevels
The tests do not depend on the window being a popup.
Benjamin Otte [Fri, 14 Feb 2020 18:32:50 +0000 (19:32 +0100)]
builder: Use different construct-only property
The window type is going away, so use the css name instead.
Benjamin Otte [Fri, 14 Feb 2020 19:25:00 +0000 (20:25 +0100)]
widget: Add gtk_widget_get_css_name() API
Benjamin Otte [Fri, 14 Feb 2020 18:48:58 +0000 (19:48 +0100)]
testsuite: Remove popup property from simplify tools
I'm not even sure a popup GtkAssistant should be a thing...
Benjamin Otte [Fri, 14 Feb 2020 18:27:17 +0000 (19:27 +0100)]
testsuite: Turn all CSS test ui files into regular windows
Use undecorated windows instead of popups.
Benjamin Otte [Fri, 14 Feb 2020 18:25:23 +0000 (19:25 +0100)]
testsuite: Make a11y tests use regular windows
Benjamin Otte [Fri, 14 Feb 2020 17:12:17 +0000 (17:12 +0000)]
Merge branch 'wip/otte/for-master' into 'master'
reftests: Change popup windows to non-decorated windows
See merge request GNOME/gtk!1435
Benjamin Otte [Fri, 14 Feb 2020 16:54:38 +0000 (17:54 +0100)]
reftests: Change popup windows to non-decorated windows
This allows getting rid of popup windows.
Matthias Clasen [Fri, 14 Feb 2020 13:47:36 +0000 (08:47 -0500)]
Merge branch 'zhaoqiang/gtk-To_avoid_compiler_warning'
Matthias Clasen [Fri, 14 Feb 2020 13:19:42 +0000 (13:19 +0000)]
Merge branch 'master-subtract-base-size' into 'master'
gdk: Subtract base size when checking aspect ratio
See merge request GNOME/gtk!1331
Mohammed Sadiq [Fri, 14 Feb 2020 02:39:21 +0000 (02:39 +0000)]
Merge branch 'wip/otte/for-master' into 'master'
slicelistmodel: Fix two wrong computations
See merge request GNOME/gtk!1433
Benjamin Otte [Fri, 14 Feb 2020 02:13:49 +0000 (03:13 +0100)]
slicelistmodel: Fix two wrong computations
Both of those are thinkos during math.
Found by Mohammed Sadiq.
Testcases triggering both have been added.
Matthias Clasen [Fri, 14 Feb 2020 02:14:01 +0000 (21:14 -0500)]
Force-create style contexts in realize
This is necessary as long as style contexts are
required for proper css change tracking.
Fixes #2435
Emmanuele Bassi [Thu, 13 Feb 2020 19:53:33 +0000 (19:53 +0000)]
Merge branch 'master' into 'master'
Fixed OpenGL extension detection for extensions promoted to OpenGL core.
Closes #2428
See merge request GNOME/gtk!1424
David Hogan [Wed, 12 Feb 2020 20:55:59 +0000 (07:55 +1100)]
Fix detection of OpenGL 3.3 core GL_ARB_timer_query.
Some systems (notably macOS) will not allow enumeration of an extension that has been promoted to core OpenGL for context in use. This change assumes that GL_ARB_timer_query is available on OpenGL 3.3+.
I could not find definitive information on whether GL_ARB_debug_output or GL_KHR_debug have been added to core. Other extensions in use were addressed by https://gitlab.gnome.org/GNOME/gtk/merge_requests/1422 .
David Hogan [Wed, 12 Feb 2020 19:52:24 +0000 (06:52 +1100)]
Fixed OpenGL extension detection for extensions promoted to OpenGL core.
For a given OpenGL context, macOS in particular does not support enumeration / detection of OpenGL features that have been promoted to core OpenGL functionality. It is possible other drivers are the same. This change assumes support for GL_ARB_texture_non_power_of_two with OpenGL 2.0+, GL_ARB_texture_rectangle with OpenGL 3.1+ and GL_EXT_framebuffer_blit with OpenGL 3.0+. I failed to find definitive information on whether GL_GREMEDY_frame_terminator has been promoted to OpenGL core, or whether GL_ANGLE_framebuffer_blit or GL_EXT_unpack_subimage have been promoted to core in OpenGL ES. This change results in a significant GtkGLArea performance boost on macOS.
Closes #2428
Emmanuele Bassi [Thu, 13 Feb 2020 18:10:29 +0000 (18:10 +0000)]
Merge branch 'ci-flatpak' into 'master'
CI pipeline changes for Flatpak jobs
See merge request GNOME/gtk!1429
Emmanuele Bassi [Thu, 13 Feb 2020 17:10:19 +0000 (17:10 +0000)]
ci: Remove G_MESSAGES_DEBUG
We don't need all the debugging messages.
Emmanuele Bassi [Thu, 13 Feb 2020 17:09:35 +0000 (17:09 +0000)]
ci: Allow flatpak jobs to fail
We have more accurate CI jobs, now; the Flatpak jobs are nice to have.
Matthias Clasen [Thu, 13 Feb 2020 16:38:41 +0000 (16:38 +0000)]
Merge branch 'gi-fixes' into 'master'
Various fixes for documentation and introspectable API
See merge request GNOME/gtk!1427
Matthias Clasen [Thu, 13 Feb 2020 16:21:15 +0000 (11:21 -0500)]
Make release builds mandatory for ci
The tests are now passing in release builds, lets keep
it that way.
Matthias Clasen [Thu, 13 Feb 2020 15:56:26 +0000 (10:56 -0500)]
testsuite: Handle icontheme test better
Skip just the failing tests in release builds.
Matthias Clasen [Thu, 13 Feb 2020 15:42:21 +0000 (10:42 -0500)]
gsk: Fix the compiler warning differently
Emmanuele Bassi [Thu, 13 Feb 2020 15:04:04 +0000 (15:04 +0000)]
Merge branch 'report-fixes' into 'master'
Fixes for the CI test reports
See merge request GNOME/gtk!1426
Emmanuele Bassi [Thu, 13 Feb 2020 14:45:08 +0000 (14:45 +0000)]
ci: Use per-suite anchors
Anchors are global, so they need to be namespaced.
Emmanuele Bassi [Thu, 13 Feb 2020 14:26:40 +0000 (14:26 +0000)]
ci: Rearrange the results in the HTML report
Move the failures up top, so they stand out.
Emmanuele Bassi [Thu, 13 Feb 2020 14:23:59 +0000 (14:23 +0000)]
ci: Fix the HTML anchor in the report
Emmanuele Bassi [Thu, 13 Feb 2020 13:56:33 +0000 (13:56 +0000)]
ci: Use result instead of exit code in the JUnit report
We have a result code coming from Meson which is more accurate than just
looking at the exit code of the unit.
Emmanuele Bassi [Thu, 13 Feb 2020 13:54:22 +0000 (13:54 +0000)]
ci: Unexpected passes are failures
List them as such in our reports.
Emmanuele Bassi [Thu, 13 Feb 2020 13:54:02 +0000 (13:54 +0000)]
ci: Put the branch name in the HTML header
Emmanuele Bassi [Thu, 13 Feb 2020 13:52:57 +0000 (13:52 +0000)]
ci: Move HTML report meta from header to article
Makes the bar smaller.
Emmanuele Bassi [Thu, 13 Feb 2020 14:04:41 +0000 (14:04 +0000)]
ci: Re-enable ccache
Emmanuele Bassi [Tue, 11 Feb 2020 17:34:09 +0000 (17:34 +0000)]
Remove gtk_style_context_get_parent()
The function was declared and mentioned in the documentation, but it has
been removed in commit
416182a20d062d5865916f86909354ec85d00dd1.
Emmanuele Bassi [Tue, 11 Feb 2020 17:29:56 +0000 (17:29 +0000)]
gi: Skip gtk_custom_layout_new()
The whole GtkCustomLayout class is mostly a C convenience API, and
there's no reason why high level languages should use it.
Emmanuele Bassi [Tue, 11 Feb 2020 17:28:18 +0000 (17:28 +0000)]
Fix the function name in the gtk-doc stanza
The documentation is still referring to the old function's name.
Emmanuele Bassi [Tue, 11 Feb 2020 17:26:51 +0000 (17:26 +0000)]
Match argument name between declaration and definition
Otherwise the documentation and the introspection data will complain.
Emmanuele Bassi [Tue, 11 Feb 2020 17:25:44 +0000 (17:25 +0000)]
docs: Match the argument name with its declaration
Emmanuele Bassi [Tue, 11 Feb 2020 17:24:01 +0000 (17:24 +0000)]
Add a notify function to GdkContentProvider
The callback-based content providers need a GDestroyNotify function to
free the data passed to them on construction, otherwise they are going
to leak.
Matthias Clasen [Thu, 13 Feb 2020 14:39:27 +0000 (09:39 -0500)]
Remove border-half-pixel reftest from xfail
It passes both locally and on ci now.
Matthias Clasen [Thu, 13 Feb 2020 13:43:59 +0000 (13:43 +0000)]
Merge branch 'wip/otte/no-clip-on-draw' into 'master'
Various fixes to rendernode drawing with Cairo
See merge request GNOME/gtk!1425
Benjamin Otte [Wed, 12 Feb 2020 22:45:51 +0000 (23:45 +0100)]
gdk: Remove gdk_cairo_get_clip_rectangle()
The function is fundamentally broken for unbounded surfaces.
If a surface is unbounded, we cannot represent this as a
cairo_rectangle_int_t, and using the return value doesn't work because
it's already used for something else.
In GTK3, unbounded surfaces aren't a problem, but GTK4 uses recording
surfaces.
So better remove that function before we keep using it and using it
wrong.
Benjamin Otte [Thu, 13 Feb 2020 01:48:19 +0000 (02:48 +0100)]
cairoblur: Get rid of gdk_cairo_get_clip_rectangle() call
It's about to be removed.
Benjamin Otte [Thu, 13 Feb 2020 00:53:12 +0000 (01:53 +0100)]
gsk: Clip shadow node before push_group()
We want to be sure to push a group that's as small as possible, so we
clip to the child's bounds, because that's the smallest we can go.
Benjamin Otte [Thu, 13 Feb 2020 00:48:03 +0000 (01:48 +0100)]
gsk: Add a utility function for rectangles
... and use it.
Benjamin Otte [Wed, 12 Feb 2020 23:14:29 +0000 (00:14 +0100)]
cairoblur: Move the check for early exit
That means we only have one place where we check all kinds of early
exits.
Benjamin Otte [Wed, 12 Feb 2020 17:44:11 +0000 (18:44 +0100)]
rendernode: Avoid rounding errors
Compute the pattern matrix directly instead of transforming the cairo_t.
This ensures that when node_size / texture_size is some obscure floating
point value, we don't get rounding issues from scaling by it once we
draw the texture_size rectangle.
I have no actual failure where this comes in handy, but I had written
the code anyway, so decided to keep it.
Benjamin Otte [Thu, 13 Feb 2020 04:23:31 +0000 (05:23 +0100)]
testsuite: Add tests for rounded rect code
... including the bug that was fixed in the parent commit.
Benjamin Otte [Thu, 13 Feb 2020 06:33:18 +0000 (07:33 +0100)]
roundedrect: Fix inlining of graphene functions
graphene treats equality for contains() operations as always matching,
so do the same thing.
This is because unlike integer math, floating point cannot do the "as
close as possible to the point, but not reaching it" operation that
integer does by just subtracting 1.
Benjamin Otte [Thu, 13 Feb 2020 04:21:49 +0000 (05:21 +0100)]
roundedrect: Fix gsk_rounded_rect_intersects_rect()
The previous code would return FALSE for
gsk_rounded_rect_intersects_rect (&rounded, &rounded.bounds);
if rounded was indeed rounded.
Benjamin Otte [Wed, 12 Feb 2020 22:44:09 +0000 (23:44 +0100)]
testsuite: Don't use gdk_cairo_get_clip_rectangle()
I want to remove it.
Benjamin Otte [Thu, 13 Feb 2020 02:23:51 +0000 (03:23 +0100)]
testsuite: Don't destroy surfaces that are still used
Coercing the surfaces must not unref the old surface, because the old
surface is going to be saved to a file.
Benjamin Otte [Thu, 13 Feb 2020 05:14:05 +0000 (06:14 +0100)]
testsuite: Remove accidentally checked in file
This file should go in the listview branch I guess.
Matthias Clasen [Thu, 13 Feb 2020 03:45:24 +0000 (22:45 -0500)]
Fix flickery hover
Commit
47c44644b109e0 was a bit overzealous in fixing
compiler warnings. We still need to call collect_textures,
even if we don't need the number that it returns.
Matthias Clasen [Wed, 12 Feb 2020 23:44:38 +0000 (23:44 +0000)]
Merge branch 'wip/baedert/cairo-paint' into 'master'
Remove cairo_clip() when drawing render nodes
Closes #2431
See merge request GNOME/gtk!1418
Matthias Clasen [Wed, 12 Feb 2020 23:24:59 +0000 (18:24 -0500)]
Remove unused signal enum values
GtkWidget lost even more signals, so we don't need
these enum values anymore.
Matthias Clasen [Wed, 12 Feb 2020 22:58:41 +0000 (17:58 -0500)]
popovermenu: Avoid an uninitialized variable
Pointed out by Timm/clang.
Fixes https://gitlab.gnome.org/GNOME/gtk/issues/2434
Matthias Clasen [Wed, 12 Feb 2020 22:35:58 +0000 (22:35 +0000)]
Merge branch 'ci-pages' into 'master'
Rename the SCSS files for our themes
Closes #2423
See merge request GNOME/gtk!1423
Emmanuele Bassi [Wed, 12 Feb 2020 20:18:27 +0000 (20:18 +0000)]
Rename the SCSS files for our themes
It seems that Meson's gnome.compile_resources() cannot deal with two
files with the same name under different directories, which breaks the
build parallelism because the GResource file ends up not depending on
either the Adwaita or the HighContrast gtk-contained.css file.
This commit only changes the on-disk names of the Adwaita and
HighContrast SCSS files, and the corresponding generated CSS files; the
files in the GResource are going to be aliased to the old file names, to
minimise the breakage. We might want to change the theme entry points at
some later date, if we decide to commit to this naming scheme.
Fixes: #2423
See Meson bug: https://github.com/mesonbuild/meson/issues/6615
Matthias Clasen [Wed, 12 Feb 2020 19:23:01 +0000 (14:23 -0500)]
Fix the Emoji chooser finalize
If the Emoji chooser is finalized before the idle
has run, it would spew criticals, breaking some tests.
Avoid that.
Georges Basile Stavracas Neto [Wed, 12 Feb 2020 18:56:19 +0000 (18:56 +0000)]
Merge branch 'gbsneto/fix-emojichooser-header' into 'master'
build: Install gtkemojichooser.h
See merge request GNOME/gtk!1420
Georges Basile Stavracas Neto [Wed, 12 Feb 2020 18:41:49 +0000 (15:41 -0300)]
build: Install gtkemojichooser.h
It was made public at
ef7172dc1ee86a, but the header file
wasn't added to the public headers list.
Add the header file to the list.
Emmanuele Bassi [Wed, 12 Feb 2020 18:38:39 +0000 (18:38 +0000)]
Merge branch 'ci-pages' into 'master'
Small CI pipeline fixes
See merge request GNOME/gtk!1419
Emmanuele Bassi [Wed, 12 Feb 2020 18:21:00 +0000 (18:21 +0000)]
ci: Update flatpak job
Use `flatpak build` and point at the nightly repo when generating the
bundle.
Emmanuele Bassi [Wed, 12 Feb 2020 18:10:49 +0000 (18:10 +0000)]
ci: Deploy the API ref before flatpak
Emmanuele Bassi [Wed, 12 Feb 2020 18:03:48 +0000 (18:03 +0000)]
ci: Fix linking of the CI assets in the report
The report is relative to the build directory, and so are the generated
assets.
Matthias Clasen [Tue, 11 Feb 2020 19:09:24 +0000 (14:09 -0500)]
testsuite: Warn if a necessary env var is missing
Better to warn if we know why the tests are
going to fail. Saves headscratching later.
Matthias Clasen [Tue, 11 Feb 2020 19:09:00 +0000 (14:09 -0500)]
Move performance tests to the right testsuite
This was a copy-paste error.
Timm Bäder [Wed, 12 Feb 2020 15:22:44 +0000 (16:22 +0100)]
rendernode: Don't clip when _draw()ing
Timm Bäder [Wed, 12 Feb 2020 15:21:38 +0000 (16:21 +0100)]
rendernode: draw() only in node bounds
We currently disable when draw()ing nodes using the cairo fallback path,
which means we can't just use cairo_paint(). Use a proper rectangle
instead.
Fixes #2431
Matthias Clasen [Wed, 12 Feb 2020 14:31:40 +0000 (14:31 +0000)]
Merge branch 'cleanup-profiler-marks' into 'master'
Cleanup profiler marks
See merge request GNOME/gtk!1417
Alexander Larsson [Wed, 12 Feb 2020 13:26:16 +0000 (14:26 +0100)]
profile: Use separate names for frameclock marks instead of using details
The marks are averaged based on the name, so this makes more sense.
Also rename the map/unmap marks to have the same capitalization as
everything else.
Alexander Larsson [Wed, 12 Feb 2020 12:35:42 +0000 (13:35 +0100)]
profiler: Add G_GNUC_PRINTF markers to silence warnings
I was getting CI failures like:
../gdk/gdkprofiler.c: In function ‘add_markvf’:
../gdk/gdkprofiler.c:111:3: error: function ‘add_markvf’ might be a candidate for ‘gnu_printf’ format attribute [-Werror=suggest-attribute=format]
Alexander Larsson [Wed, 12 Feb 2020 12:20:32 +0000 (13:20 +0100)]
profiler: Clean up profiler marks for frameclock
This drops the marks for before/after-paint as they are internal
things that very rarely use any time, and also flush/resume-events
as any events reported here will get separate marks so will be easy
to see anyway.
Also, we rename the entire frameclock cycle to "frameclock cycle"
rather than "paint_idle" which is rather cryptic.
Alexander Larsson [Wed, 12 Feb 2020 11:44:43 +0000 (12:44 +0100)]
profiler: Add profiler marks for when surfaces are mapped and unmapped
This is done on the X11 side so we can tell when the map/unmap takes
effect and how long it took since the map request.
Alexander Larsson [Wed, 12 Feb 2020 11:43:27 +0000 (12:43 +0100)]
icon theme: Don't add profiler marks for short async icon loads
We do a bunch of preloads, and most of these are not really interesting
anyway.
Alexander Larsson [Wed, 12 Feb 2020 11:42:29 +0000 (12:42 +0100)]
builder: Don't add profiler marks for short parses
There are a lot of thes (since we're recursing), so don't spew the
output with uninteresting ones.
Alexander Larsson [Wed, 12 Feb 2020 10:25:34 +0000 (11:25 +0100)]
profiler: Add _end_mark() version of _add_mark()
These don't take a duration, instead they call g_get_monotonic_time() to
and subtract the start time for it.
Almost all our calls are like this, and this makes the callsites clearer
and avoids inlining the clock call into the call site.
Alexander Larsson [Wed, 12 Feb 2020 10:05:01 +0000 (11:05 +0100)]
profiler: Make profiler-is-running a macro
When we use if (GDK_PROFILER_IS_RUNNING) this means we get an
inlined if (FALSE) when the compiler support is not compiled in, which
gets rid of all the related code completely.
We also expand to G_UNLIKELY(gdk_profiler_is_running ()) in the supported
case which might cause somewhat better code generation.
Alexander Larsson [Wed, 12 Feb 2020 09:44:17 +0000 (10:44 +0100)]
Convert all profiler times from nsec to usec
usec is the scale of the monotonic timer which is where we get almost
all the times from. The only actual source of nsec is the opengl
GPU time (but who knows what the actual resulution of that is).
Changing this to usec allows us to get rid of " * 1000" in a *lot* of
places all over the codebase, which are ugly and confusing.
Alexander Larsson [Wed, 12 Feb 2020 09:40:26 +0000 (10:40 +0100)]
Use markf in one more place
Alexander Larsson [Wed, 12 Feb 2020 09:11:53 +0000 (10:11 +0100)]
fixup! Add gdk_profiler_add_markf() to do printf formating
Alexander Larsson [Wed, 12 Feb 2020 08:59:03 +0000 (09:59 +0100)]
Use the new gdk_profiler_add_markf() function
Alexander Larsson [Wed, 12 Feb 2020 08:56:10 +0000 (09:56 +0100)]
Add gdk_profiler_add_markf() to do printf formating
This allows us to avoid hand-rolling g_strdup_printf calls,
but also moves the printf into the called function where
it doesn't bloat the code of the calling function if the profiler
is not running.
Carmen Bianca BAKKER [Wed, 12 Feb 2020 07:43:58 +0000 (07:43 +0000)]
Update Esperanto translation
Matthias Clasen [Tue, 11 Feb 2020 19:01:10 +0000 (19:01 +0000)]
Merge branch 'mark-events-with-kind' into 'master'
profiler: Always mark events with the kind
See merge request GNOME/gtk!1414
Alexander Larsson [Tue, 11 Feb 2020 18:51:49 +0000 (19:51 +0100)]
profiler: Always mark events with the kind
Matthias Clasen [Tue, 11 Feb 2020 16:59:11 +0000 (16:59 +0000)]
Merge branch 'wip/baedert/outline-radius' into 'master'
css boxes: Compute box from border box
Closes #2425
See merge request GNOME/gtk!1408
Emmanuele Bassi [Tue, 11 Feb 2020 16:30:16 +0000 (16:30 +0000)]
Merge branch 'share-gl-programs' into 'master'
GskGLRenderer: Share programs between different renderers in same display
See merge request GNOME/gtk!1413